#include<iostream>
#include<cstring>

int main(){
    int arr[3] = {1,2,3};     // 数组没有经过初始化的情况下，其中的内容是不可预料的
    float arr2[5] = {1.0,2.0};       // 未经过初始化的后三个元素值默认为0
    long t[5] = {0};    // 将数组中的所有元素初始化为0
    short ss[] = {1,2,3};

    char abc[3] = {'a','b','c'};
    std::cout<<abc<<"\n";      // 输出结果不一定是abc，会向后查找结束符‘\0’,不会按照字符串正确打印

    char sni[] = "hello,world";
    std::cout<<sizeof sni<<"\n";      // 12
    std::cout<<strlen(sni)<<"\n";      // 11,计算不不包括‘\0’在内的长度

    // cin会读取缓冲区的字符，遇到空格或换行会终止，可以使用cin.getline(char数组，数组最大长度)将带有空格的字符串赋值给字符数组
    //char8_t e8[] = {u8"Hi"};    //c++2a
    std::cout<<sizeof(char16_t)<<"\t"<<sizeof(char32_t)<<"\t"<<sizeof(wchar_t);
    // 中英文混搭，英文较多，用utf8，英文1B,中文3B
    // 中文很多，英文较少，用utf16，中文2B，英文2B
    
    return 0;
}